package com.redis.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;

import java.util.List;
import java.util.UUID;

@RestController
public class TestController {


    @GetMapping("addPro")
    public  void addPro(){

        Jedis jedis = new Jedis("192.168.221.35",6379);// localhost 6379  linux:192.168.221.35
        // 密码
        jedis.auth("yyl");//
        jedis.select(15);

        jedis.set("pro:1","10");
    }

    @GetMapping("secKill")
    public  void secKill(){
        Jedis jedis = new Jedis("192.168.221.35",6379);// localhost 6379  linux:192.168.221.35
        // 密码
        jedis.auth("yyl");//
        jedis.select(15);
//        jedis.set("pro:1","10");
        String secKey = "pro:1";
        jedis.watch(secKey);
        // get 取值 获取秒杀的商品的数量
        if (jedis.get(secKey)==null){
            System.out.println("秒杀还没有开始");
            return;
        }else{
            // jedis.get(secKey) 有数据
            if(Integer.parseInt(jedis.get(secKey))>0){
                // 能够秒杀
                Transaction multi = jedis.multi(); // 开始事务
                multi.decr(secKey);// decr pro:1
                multi.sadd("userSet", UUID.randomUUID().toString());// 添加用户的id
                multi.exec();
            }else{
                //
                System.out.println("秒杀结束");
            }

        }



    }


}
